// Copyright (c) 2022 Presto Labs Pte. Ltd.
// Author: gekim

#pragma once

#include <memory>
#include <vector>
#include <pybind11/pybind11.h>

#include "coin2/feed/fastfeed/fastfeed_reader.h"

#include "coin2/exchange/feed.pb.h"

namespace appcoin2::support::feed {

class PyFastfeedReader {
 public:
  PyFastfeedReader(const std::string&,
                   const std::vector<std::string>&,
                   const std::string&,
                   const std::string&,
                   const std::string&,
                   const std::string&);

  pybind11::tuple load(const fastfeed::proto::FeedType&);

 private:
  std::unique_ptr<FastFeedReader> fastfeed_reader_;
  fastfeed::proto::Feed feed_;

  MarketExchangeApiRecipe mear_;
  coin2::exchange::symbology::ProductConfig product_config_;
  std::string machine_;
  std::string root_dir_;
};

}  // namesapce appcoin2::support::feed